<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
    <th:block th:include="common/include :: header('列表')" />

</head>
<body>

<th:block th:include="common/include :: footer" />
<th:block th:include="common/include :: layout-latest" />
<div class="ui-layout-east">
    <div class="col-sm-12 search-collapse">
    <form id="serviceItem-form">
        <div class="select-list">
            <ul>
                <li>
                    服务项名称：<input type="text" name="name"/>
                </li>
                <li>
                    是否套餐：<select name="carPackage" th:with="type=${@dict.getType('si_car_package')}">
                    <option value="">所有</option>
                    <option th:each="dict : ${type}" th:text="${dict.label}" th:value="${dict.value}"></option>
                </select>
                </li>
                <li>
                    服务分类：<select name="serviceCatalog" th:with="type=${@dict.getType('si_service_catalog')}">
                    <option value="">所有</option>
                    <option th:each="dict : ${type}" th:text="${dict.label}" th:value="${dict.value}"></option>
                </select>
                </li>
                <li>
                    <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
                </li>
            </ul>
        </div>
    </form>
</div>

    <div class="btn-group-sm" id="toolbar" role="group">
        <a class="btn btn-success" onclick="$.operate.add()" >
            <i class="fa fa-plus"></i> 添加
        </a>
    </div>

    <div class="col-sm-12 select-table table-striped">
        <table id="bootstrap-table"></table>
    </div>
</div>


<div class="ui-layout-center">
    <div class="container-div">
        <div class="row">
            <div class="col-sm-12 search-collapse">
                <div class="col-sm-12" >
                    <div class="col-sm-6">
                        <div class="form-group">
                            <label class="col-sm-6 control-label">客户姓名：</label>
                            <label class="col-sm-6 control-label">[[${statement.customerName}]]</label>
                        </div>
                    </div>
                    <div class="col-sm-6">
                        <div class="form-group">
                            <label class="col-sm-6 control-label">联系方式：</label>
                            <label class="col-sm-6 control-label">[[${statement.customerPhone}]]</label>
                        </div>
                    </div>
                </div>
                <div class="col-sm-12" >

                    <div class="col-sm-6">
                        <div class="form-group">
                            <label class="col-sm-6 control-label">车牌号码：</label>
                            <label class="col-sm-6 control-label">[[${statement.licensePlate}]]</label>
                        </div>
                    </div>
                    <div class="col-sm-6">
                        <div class="form-group">
                            <label class="col-sm-6 control-label">汽车类型：</label>
                            <label class="col-sm-6 control-label">[[${statement.carSeries}]]</label>
                        </div>
                    </div>
                </div>
                <div class="col-sm-12" >
                    <div class="col-sm-6">
                        <div class="form-group">
                            <label class="col-sm-6 control-label">服务类型：</label>
                            <label class="col-sm-6 control-label">[[${@dict.getLabel('si_service_catalog',statement.serviceType)}]]</label>
                        </div>
                    </div>
                    <div class="col-sm-6">
                        <div class="form-group">
                            <label class="col-sm-6 control-label">到店时间：</label>
                            <label class="col-sm-6 control-label" th:text="${#dates.format(statement.actualArrivalTime, 'yyyy-MM-dd HH:mm')}"></label>
                        </div>
                    </div>
                </div>
                <div class="col-sm-12" >
                    <div class="col-sm-6">
                        <div class="form-group">
                            <label class="col-sm-6 control-label">总消费金额：</label>
                            <label class="col-sm-6 control-label" id="totalAmount">[[${statement.totalAmount}]]</label>
                        </div>
                    </div>
                    <div class="col-sm-6">
                        <div class="form-group">
                            <label class="col-sm-6 control-label">实付价格：</label>
                            <label class="col-sm-6 control-label" id="actuallyPaid">[[${statement.totalAmount-statement.discountAmount}]]</label>
                        </div>
                    </div>
                </div>
                <div class="col-sm-12" >
                    <div class="col-sm-6">
                        <div class="form-group">
                            <label class="col-sm-6 control-label">优惠价格：</label>
                            <input class="col-sm-6" type="number" onchange="discountFun()" name="discountAmount" th:field="${statement.discountAmount}"/>
                        </div>
                    </div>
                </div>
            </div>
            <div class="btn-group-sm" id="item-toolbar" role="group">

                <a class="btn btn-success btn-xs "  href="javascript:void(0)"
                   onclick="saveFun()"><i class="fa fa-edit"></i>保存</a>
                <a class="btn btn-info btn-xs "  href="javascript:void(0)"
                   onclick="payFun()"><i class="fa fa-cc-visa"></i>确认支付</a>

            </div>
            <div class="col-sm-12 select-table table-striped">
                <table id="item-table"></table>
            </div>
        </div>
    </div>
</div>

</body>
<script>
    $('body').layout({
        east__size:	'30%',
    });
    var statementId = [[${statement.id}]];

    // OUTER-LAYOUT

    $(function() {
        initStatementItem();
    });
    function initStatementItem(){
        var options = {
            id:"item-table",
            toolbar:'item-toolbar',
            url: ctx + "/business/statementItem/query?statementId="+statementId,
            modalName: "结算单明细",
            showSearch:false,
            pagination:true,
            showRefresh:true,
            uniqueId:'itemId',
            columns: [
                {
                    field: 'id',
                    title: 'id',
                    visible: false
                },
                {
                    field: 'itemId',
                    title: '服务项id',
                    visible: false
                },
                {
                    field: 'itemName',
                    title: '服务项名称'
                },
                {
                    field: 'itemPrice',
                    title: '服务项价格'
                },
                {
                    field: 'itemQuantity',
                    title: '购买数量'
                },{
                    title: '操作',
                    align: 'center',
                    formatter: function(value, row, index) {
                        var actions = [];
                        actions.push('<a class="btn btn-success btn-xs" href="javascript:void(0)" onclick="add(\'' + row.itemId + '\')"><i class="fa fa-plus"></i></a> ');
                        actions.push('<a class="btn btn-danger btn-xs" href="javascript:void(0)" onclick="reduce (\'' + row.itemId + '\')"><i class="fa fa-minus"></i></a> ');
                        return actions.join('');
                    }
                }]
        };
        $.table.init(options);
    }


    var prefix = ctx + "/business/serviceItem";
    $(function() {
        var options = {
            url: prefix + "/query?saleStatus=1",
            uniqueId:"id",
            modalName: "服务项",
            columns: [
                {
                    field: 'id',
                    title: '服务项id',
                    visible: false
                },

                {
                    field: 'name',
                    title: '服务项名称',
                    sortable: true
                },
                {
                    field: 'originalPrice',
                    title: '服务项原价',
                    sortable: true
                },
                {
                    field: 'info',
                    title: '备注信息',
                    sortable: true,
                    formatter: function(value, row, index) {
                        return $.table.tooltip(value, 0, "open");
                    }
                },
                {
                    title: '操作',
                    align: 'center',
                    formatter: function(value, row, index) {
                        var actions = [];
                        actions.push('<a class="btn btn-success btn-xs "  href="javascript:void(0)" ' +
                            'onclick=add('+row.id+')><i class="fa fa-plus"></i></a> ');
                        return actions.join('');
                    }
                }]
        };
        $.table.init(options);
    });
    //保存
    function saveFun(){
        var datas= $('#item-table').bootstrapTable('getData',{useCurrentPage:false,includeHiddenRows:false});

        $.each(datas,function (index,item) {
            item.statementId = statementId;
        })
        datas.push({"statementId":statementId,discountAmount:$('[name=discountAmount]').val()})

        var config = {
            url: ctx + "/business/statementItem/saveItems",
            type: 'post',
            dataType: 'json',
            contentType:"application/json",
            data: JSON.stringify(datas),
            beforeSend: function () {
                $.modal.loading("正在处理中，请稍后...");
            },
            success: function(result) {
                $("#saveBtn").addClass("disabled");
                $("#payBtn").removeClass("disabled");
                $.operate.ajaxSuccess(result);
            }
        };
        $.ajax(config)
    }
    function payFun(){
        $.modal.confirm("确认用户已支付?", function() {
            $.operate.post(ctx + "/business/statementItem/pay", {statementId:statementId},function(result){
                if(result.code==web_status.SUCCESS){
                    url = ctx + "/business/statementItem/itemDetail?statementId="+statementId;
                    $.modal.openTab("结算单明细", url);
                }else{
                    $.modal.alertError(result.msg)
                }
            });
        });
    }

    //加
    function add(id) {
        var rs = $('#bootstrap-table').bootstrapTable('getRowByUniqueId',id);
        var data = {"itemId":id,"itemName":rs.name,"itemPrice":rs.originalPrice,"itemQuantity":1};
        //获取左边的列表,看是否有相同的数据
        var bootstrapTableData = $('#item-table').bootstrapTable('getRowByUniqueId', id);
        //有的话,将数量加1
        if (bootstrapTableData){
            $('#item-table').bootstrapTable('updateCellByUniqueId', {
                id: id,
                field: 'itemQuantity',
                value: bootstrapTableData.itemQuantity + 1
            });
            //没有就追加上去
        }else{
            $('#item-table').bootstrapTable('append', data);
        }
        discountFun()
    }
    //减
    function reduce(id) {
        var bootstrapTableData = $('#item-table').bootstrapTable('getRowByUniqueId', id);
        if (bootstrapTableData.itemQuantity>1){
            //大于1的话,将数量减1
            $('#item-table').bootstrapTable('updateCellByUniqueId', {
                id: id,
                field: 'itemQuantity',
                value: bootstrapTableData.itemQuantity - 1
            });
            //否则删除
        }else{
            $('#item-table').bootstrapTable('removeByUniqueId',id);
        }
        discountFun()
    }

    //计算金额
    function discountFun() {
        var totalAmount = 0
        var data= $('#item-table').bootstrapTable('getData',{useCurrentPage:true,includeHiddenRows:true});
        $.each(data,function (index,item) {
            totalAmount +=  item.itemPrice * item.itemQuantity

        })
        var discountAmount = $('[name=discountAmount]').val();
        if (!discountAmount){
            $('[name=discountAmount]').val(0);
            return
        }
        if (discountAmount<0){
            $('[name=discountAmount]').val(0);
            return
        }
        if (data.length==0){
            $('[name=discountAmount]').val(0);
            $('#actuallyPaid').text(0);
            $('#totalAmount').text(0)
            return;
        }


        if (discountAmount>totalAmount){
            $.modal.alert("优惠金额不能超过总金额")
            $('[name=discountAmount]').val(0);
            $('#actuallyPaid').text(totalAmount);
            return
        }
        $('#totalAmount').text(totalAmount)
        $('#actuallyPaid').text(totalAmount-discountAmount)
    }

</script>
</html>